EEPROM ব্যবহার করে ডেটা সংরক্ষণ

Computer Programming - আরডুইনো (Arduino) Advanced Arduino Programming (এডভান্সড Arduino প্রোগ্রামিং) |
239
239

EEPROM (Electrically Erasable Programmable Read-Only Memory) হলো একটি বিশেষ ধরনের মেমরি যা পাওয়ার বন্ধ হওয়ার পরেও ডেটা সংরক্ষণ করতে সক্ষম। Arduino বোর্ডে বিল্ট-ইন EEPROM থাকে, যা ছোট আকারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি সাধারণত গুরুত্বপূর্ণ কনফিগারেশন সেটিংস বা ডেটা সংরক্ষণের জন্য ব্যবহার করা হয় যা ডিভাইস পুনরায় চালু হওয়ার পরেও ধরে রাখতে হয়।

EEPROM লাইব্রেরি

Arduino IDE তে EEPROM লাইব্রেরি অন্তর্ভুক্ত থাকে, যা সহজে EEPROM পড়া ও লেখার জন্য ব্যবহৃত হয়।

EEPROM এর ধারণক্ষমতা

Arduino Uno-তে 1024 বাইটের EEPROM মেমরি রয়েছে। প্রতিটি বাইটে একটি 0 থেকে 255 এর মধ্যে মান সংরক্ষণ করা যায়।

EEPROM ফাংশনসমূহ

  • EEPROM.write(address, value): নির্দিষ্ট address-এ value লেখা হয়।
  • EEPROM.read(address): নির্দিষ্ট address থেকে ডেটা পড়ে।
  • EEPROM.update(address, value): নতুন মান এবং আগের মান এক না হলে কেবল লেখে, যা মেমরি সুরক্ষিত রাখে।
  • EEPROM.put(address, value): বড় ডেটা টাইপ সংরক্ষণের জন্য ব্যবহৃত হয়।
  • EEPROM.get(address, value): বড় ডেটা টাইপ পড়ার জন্য ব্যবহৃত হয়।

উদাহরণ: EEPROM এ ডেটা লেখা এবং পড়া

নিচে একটি উদাহরণ দেওয়া হলো যেখানে EEPROM-এ ডেটা লেখা এবং পড়ার প্রক্রিয়া দেখানো হয়েছে।

#include <EEPROM.h>

void setup() {
  Serial.begin(9600);

  // ডেটা লেখা
  EEPROM.write(0, 123); // অ্যাড্রেস 0 এ 123 লেখা
  Serial.println("Data written to EEPROM");

  // কিছু সময় অপেক্ষা
  delay(1000);

  // ডেটা পড়া
  int value = EEPROM.read(0); // অ্যাড্রেস 0 থেকে ডেটা পড়া
  Serial.print("Data read from EEPROM: ");
  Serial.println(value);
}

void loop() {
  // লুপ খালি রাখা হয়েছে
}

বড় ডেটা সংরক্ষণ উদাহরণ (EEPROM.put() এবং EEPROM.get())

#include <EEPROM.h>

struct Config {
  int setting1;
  float setting2;
};

void setup() {
  Serial.begin(9600);

  // বড় ডেটা লেখা
  Config config = {42, 3.14};
  EEPROM.put(0, config);
  Serial.println("Struct data written to EEPROM");

  // কিছু সময় অপেক্ষা
  delay(1000);

  // বড় ডেটা পড়া
  Config readConfig;
  EEPROM.get(0, readConfig);
  Serial.print("Struct data read from EEPROM: ");
  Serial.print(readConfig.setting1);
  Serial.print(", ");
  Serial.println(readConfig.setting2);
}

void loop() {
  // লুপ খালি রাখা হয়েছে
}

EEPROM ব্যবহারিক টিপস

  • বারবার লেখার সীমাবদ্ধতা: EEPROM-এর জীবনকাল সীমিত, সাধারণত প্রায় ১০০,০০০ বার লেখার পর এটি দুর্বল হয়ে পড়তে পারে। EEPROM.update() ব্যবহার করলে শুধুমাত্র নতুন ডেটা পুরোনো ডেটার চেয়ে ভিন্ন হলে লেখা হয়, যা মেমরির জীবনকাল বাড়ায়।
  • ডেটা স্টোরেজ: ছোট আকারের কনফিগারেশন বা সেন্সর ডেটা সংরক্ষণ করার জন্য EEPROM উপযোগী। বড় আকারের ডেটা সংরক্ষণের জন্য অন্যান্য স্টোরেজ পদ্ধতি যেমন SD কার্ড ব্যবহার করা ভাল।

EEPROM মুছে ফেলা

EEPROM থেকে ডেটা মুছে ফেলার জন্য EEPROM.write() বা EEPROM.update() ফাংশন ব্যবহার করে প্রতিটি অ্যাড্রেসে 0 বা অন্য মান লেখা যেতে পারে।

উদাহরণ:

void clearEEPROM() {
  for (int i = 0; i < EEPROM.length(); i++) {
    EEPROM.write(i, 0); // প্রতিটি অ্যাড্রেসে 0 লেখা
  }
}

EEPROM ব্যবহার করে Arduino-তে ডেটা সংরক্ষণ করা হলে গুরুত্বপূর্ণ সেটিংস বা ইনফরমেশন পুনরায় পাওয়ার আপের পরেও সুরক্ষিত থাকে। এটি স্মার্ট প্রোজেক্টে গুরুত্বপূর্ণ ডেটা সংরক্ষণের জন্য একটি কার্যকরী উপায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion